package xuegao.study.mall.order.service;

import org.springframework.transaction.annotation.Transactional;
import xuegao.study.mall.common.dto.*;
import xuegao.study.mall.common.model.oms.OmsOrder;

import java.util.List;

public interface OrderService {

    /**
     * 批量关闭订单
     */
    @Transactional
    int delete(List<Long> ids);

    /**
     * 批量关闭订单
     */
    @Transactional
    int close(List<Long> ids, String note);

    /**
     * 查询订单列表
     */
    List<OmsOrder> list(OmsOrderQueryParam queryParam, Integer pageSize, Integer pageNum);

    /**
     * 查询订单详情
     */
    OmsOrderDetail detail(Long id);

    /**
     * 修改订单费用信息
     */
    @Transactional
    int updateMoneyInfo(OmsMoneyInfoParam moneyInfoParam);

    /**
     * 修改订单收货人信息
     */
    @Transactional
    int updateReceiverInfo(OmsReceiverInfoParam receiverInfoParam);

    /**
     * 修改订单备注
     */
    @Transactional
    int updateNote(Long id, String note, Integer status);

    /**
     * 批量发货
     */
    int delivery(List<OmsOrderDeliveryParam> deliveryParamList);
}
